#ifndef EventSet_H
#define EventSet_H
#include "Technique.h"
#include "SubscriberSlot.h"
#include "EventArgs.h"
#include <map>
class EventSet
{
public:
	EventSet(void);
	~EventSet(void);
	void addEvent(const std::string& name,SubscriberSlot& subscriber);
	void removeEvent(const std::string& name);
	void removeAllEvents(void);
	bool hasEvent(const std::string& name);
	virtual void dispatchEvent(const std::string& name, void* dispatcher, EventArgs& args);
protected:
	std::map<std::string,SubscriberSlot> mSlots;
};
#endif


